import { App } from 'vue';

export interface ModuleConfig {
  id: string;                    // 模块唯一标识
  name: string;                  // 模块显示名称
  version: string;               // 模块版本
  description?: string;          // 模块描述
  author?: string;               // 模块作者
}

export interface ModuleOptions {
  // 模块配置选项，根据具体模块需求定义
  [key: string]: any;
}

export interface ModuleInterface {
  // 模块配置信息
  config: ModuleConfig;
  
  // 安装方法（在平台中注册）
  install: (app: App, options?: ModuleOptions) => void;
  
  // 启动方法（模块初始化）
  startup?: () => Promise<void>;
  
  // 清理方法（模块卸载）
  cleanup?: () => void;
  
  // 获取模块服务API
  getService?: () => any;
}